<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>jq星空特效</title>
    <script src="./js/jquery-2.0.0.min.js"></script>

    <style>
        body {
            background: radial-gradient(200% 100% at bottom center, #f7f7b6, #e96f92, #75517d, #1b2947);
            background: radial-gradient(220% 105% at top center, #1b2947 10%, #75517d 40%, #e96f92 65%, #f7f7b6);
            background-attachment: fixed;
            overflow: hidden;
        }

        @keyframes rotate {
            0% {
                transform: perspective(400px) rotateZ(20deg) rotateX(-40deg) rotateY(0);
            }

            100% {
                transform: perspective(400px) rotateZ(20deg) rotateX(-40deg) rotateY(-360deg);
            }
        }

        .starsbox {
            transform: perspective(500px);
            transform-style: preserve-3d;
            position: absolute;
            bottom: 0;
            perspective-origin: 50% 100%;
            left: 50%;
            animation: rotate 90s infinite linear;
        }

        .star {
            width: 2px;
            height: 2px;
            background: #F7F7B6;
            position: absolute;
            top: 0;
            left: 0;
            transform-origin: 0 0 -300px;
            transform: translate3d(0, 0, -300px);
            backface-visibility: hidden;
        }
 
    </style>

</head>

<body>

    <div class="starsbox"></div> 
    <script>
        $(document).ready(function () {
            // 数量
            var starsCount = 800;
            // 容器
            var $starsbox = $(".starsbox");
            // 距离
            var distance = 800;
            let dom = ''
            for (var i = 0; i < starsCount; i++) {
                var $star = $("<div class='star'><div/>");
                // console.log($star)
                $starsbox.append($star);
            }
            $(".star").each(function () {
                // 原点
                var s = 0.2 + (Math.random() * 1);
                // 距离
                var curR = distance + (Math.random() * 300);
                $(this).css({
                    // 更改转换元素原点位置,就是按照哪一个点旋转
                    transformOrigin: "0 0 " + curR + "px",
                    transform: " translate3d(0,0,-" + curR + "px) rotateY(" + (Math.random() * 360) + "deg) rotateX(" + (Math.random() * -50) + "deg) scale(" + s + "," + s + ")"
                })
            })
        })
    </script>


</body>

</html>